# 字符串方法
# 具体演示如下 结果配合控制台输出食用
s = " hello world "
print(s.title())  # s.title() 大写s每个单词的第一个字母
print(s.capitalize())  # s.capitalize() 大写s第一个字母
print(s.upper())  # s.upper() 将s转化为大写
print(s.lower())  # s.lower() 将s转化为小写
print(s.strip())  # s.strip() 清除s前后空白
print(s.lstrip())  # s.lstrip() 清除s前空白
print(s.rstrip())  # s.rstrip() 清除后空白
print(s.isalpha())  # s.isalpha() 判断s是否是字母
print(s.isdigit())  # s.isdigit() 判断s是否是数字
print(s.isupper())  # s.isupper() 判断s是否是大写
print(s.islower())  # s.islower() 判断s是否是小写
print(s.endswith("d "))  # s.endswith(x) 判断s是否以 x 结尾
print(s.startswith("d "))  # s.startswith(x) 判断s是否以 x 开始
print(s.replace("o", "p", 2))  # s.replace(x,y,n) 用y替换s中的x前n个
print(s.split("o", 2))  # s.split(x,n) 使用x分割 分割n次 返回数组
print(s.find("y"))  # s.find(x) 寻找目标元素 然后返回下标 没找到就返回-1
print(s.index("o"))  # s.index(x) 寻找目标元素 然后返回下标 没找到就抛出异常 ValueError: substring not found
print(s.count("o"))  # s.count(x) 寻找目标元素出现的个数

# 字符串拼接
str1 = "袋子"
str2 = "八戒"
str3 = str1 + str2
print(str3)  # 拼接str1和str2

# 字符串迭代拼接增加
print("demo".join(str3))  # 可迭代对象中的每个元素后面添加x 将可迭代对象的所有元素转化为字符串

# %s字符型 %d整型 %f 浮点型 %O 八进制 %x十六进制 %e 科学记数法
print("%s %s", (str1, str2))  # print(%s%s ,(a,b)) a是第一个%s的值 b是第二个%s的值

print('{0}{1}'.format(str1, str2))  # '{0}{1}'.format(a,b) 0表示取第一个a，1表示取b

print('{:s}'.format(str1))  # '{:s}'.format(str) 字符串型
num = 10000000
print('{:e}'.format(num))  # '{:e}'.format(int) 科学记数法 1.000000e+07
print('{:d}'.format(num))  # '{:d}'.format(int) 整型 10000000
print('{:f}'.format(num))  # '{:f}'.format(float) 浮点型 10000000.000000
print('{:o}'.format(num))  # '{:e}'.format(int) 八进制 46113200
print('{:x}'.format(num))  # '{:x}'.format(int) 十六进制 989680

# 对齐
print('{num:1<10}'.format(num=12))  # '{a:x<10}'.format(a=12) 空白位置使用x补齐 1211111111

# 部分转义字符如下 同 JavaScript Java C C++ 类似
print("\t")  # 跳格
print("\n")  # 换行
print("\b")  # 后退
